The creation and storage of digitized data has proliferated in recent years. Accordingly, techniques and mechanisms that facilitate efficient and cost effective storage of large amounts of digital data are common today. For example, a cluster network environment of nodes may be implemented as a data storage system to facilitate the creation, storage, retrieval, and/or processing of digital data. Such a data storage system may be implemented using a variety of storage architectures, such as a network-attached storage (NAS) environment, a storage area network (SAN), a direct-attached storage environment, and combinations thereof. The foregoing data storage systems may comprise one or more data storage devices configured to store digital data within data volumes.
Digital data stored by data storage systems may be frequently migrated and replicated within the data storage system and/or between data storage systems during normal operation. For example, data storage systems may include disaster recovery (DR) resources that function as a backup for a primary storage resource. Other networks may provide for high availability (HA) resources that are configured to assist a primary storage resource when desired, e.g. during high traffic periods, to provide for faster data transfers. Such DR and HA systems obtain replicated information of data residing on a primary storage resource.
In order to replicate information from a primary storage resource to a secondary storage resource, previous systems may utilize write cache that compiles write data from a client which is then stored to a more permanent storage location according to a pre-determined schema. For example, the write cache may be part of a DR node and function to compile data for the DR node until the cache resources are near full (or until another pre-determined condition is met), at which point the data residing on the write cache is transferred to DR storage. The point when write cache is cleared and its contents sent to storage may be referred to as a consistency point.
It is notable, however, that while data is replicated to DR resources, presently the transition between the actual use of a primary storage resource and a DR resource is time consuming and disruptive to a client. In many instances, the mirrored data is mirrored with a significant delay in time. As such, not all of the stored data may be available to a client in the event that the primary node ceases functioning. Further, in making the transition between resources, various controls and configuration information must be established in order to properly insure communications between a client and the correct transitioned storage volumes. Establishing such controls is time consuming and can become administratively complicated. In fact, establishing communication configurations is often accomplished on a manual basis where an administrator must manually select and assign resources for a client.
It is further noted that the above-mentioned issues found in transitioning between a primary resource and a DR resource may also be apparent when implementing switchback procedures. For example, a primary resource may be brought back online and resynchronize data with the DR node, but the requisite control data and commands to administer the primary storage resource will still need to be reestablished using the same methods.